package cn.com.yx.ms.persistence;

import cn.com.yx.ms.application.web.ApiQueryBase;
import cn.com.yx.ms.domain.dbmodel.SysDict;
import feign.Param;

import java.util.List;

/**
 * Created by lenovo on 2017/5/2.
 */
public interface SysDictMapper {
    /**
     *对字典类型的添加
     * @param sysDict
     * @return
     */
    int insertDictionary(SysDict sysDict);

    /**
     * 对字典类型进行修改
     * @param sysDict
     * @return
     */
    int updateDictionary(SysDict sysDict);

    /**
     * 对字典数据类型的添加
     * @param sysDict
     * @return
     */
    int insertDictionarydata(SysDict sysDict);

    /**
     * 根据dictvalue查找已有的字典类型
     * @param dictvalue
     * @return
     */
    SysDict findByDictvalue(@Param("dictvalue")String dictvalue);



    /**
     * 根据dictname查找dictvalue
     * @param dictname
     * @return
     */
    SysDict findByDictName(@Param("dictname")String dictname);

    /**
     * 根据dictvalue删除字典类型
     * @param dictvalue
     * @return
     */
    int deleteDictionary(@Param("dictvalue")String dictvalue);

    /**
     * 根据dictvalue删除dictionaryadata表中的数据
     * @param dictvalue
     * @return
     */
    int deleteDictionarydata(@Param("dictvalue")String dictvalue);

    /**
     * 找到所有的字典类型
     * @return
     */
    List<SysDict> findAllDictionary(ApiQueryBase query);

    /**
     * 查找字典所有的数据
     * @param queryBase
     * @return
     */
    List<SysDict> findAllDinctionarydata(ApiQueryBase queryBase);

    List<SysDict> findAllDictDatas(String dictid);

    /**
     * 删除dictionarydata中的数据
     * @param id
     * @return
     */
    int deleteDinctionaryData(@Param("id")String id);

    /**
     * 根据id修改数据
     * @param sysDict
     * @return
     */
    int updateDictionaryData(SysDict sysDict);

    /**
     * 根据id找到dictdata数据
     * @param id
     * @return
     */
    SysDict findDictDataById(@Param("id") String id);
}
